#pragma execution_character_set("utf-8")
#include <Windows.h>   // 用于 SetConsoleOutputCP
#include <opencv2/opencv.hpp>
#include <iostream>
int main() {
    // 设置控制台输出为UTF-8编码，防止中文乱码
    SetConsoleOutputCP(CP_UTF8);
    SetConsoleCP(CP_UTF8);
    cv::VideoCapture cap(0);  // 打开默认摄像头（设备ID=0）
    if (!cap.isOpened()) {
        std::cerr << "无法打开摄像头" << std::endl;
        return -1;
    }
    cv::Mat frame;
    std::cout << "按 'q' 键退出" << std::endl;
    while (true) {
        cap >> frame;  // 读取一帧
        if (frame.empty()) {
            std::cerr << "读取视频帧失败" << std::endl;
            break;
        }
        cv::imshow("摄像头实时画面", frame);
        // 等待 30ms，监听键盘按键，按'q'退出
        char c = (char)cv::waitKey(30);
        if (c == 'q' || c == 'Q') break;
    }
    cap.release();
    cv::destroyAllWindows();
    return 0;
}